﻿package main

import (
    "fmt"
    "math/rand"
    "time"
)

func create_num() int {
    rand.Seed(time.Now().UnixNano())
    return rand.Intn(101)
}

func main() {
    n := create_num()
    //fmt.Println(n)

    var input int
    var flag bool = false
    for {
        fmt.Print("请输入数字（0-100）：")
        fmt.Scanf("%d\n", &input)
        switch {
        case input == n:
            fmt.Println("猜对了", n)
            //break  // case里不需要break，似乎也支持写break，不会报错
            flag = true  // 上面的break是switch里的break，无法跳出for循环，等switch结束后判断flag
        case input > n:
            fmt.Println("大了，再小点")
        case input < n:
            fmt.Println("小了，再大点")
        }
        if flag {
            break  // 这里是switch外面，这里的break是跳出for循环的
        }
    }
}